package org.sam.swing.builder;

import java.awt.Component;
import java.awt.Container;

/**
 * 控件布局生成控制对象
 * 
 * @author sam
 *
 */
public interface LayoutBuilder {

	/**
	 * 获取当前操作的父容器 一般为JPanel
	 * 
	 * @return 父容器控件
	 */
	public Container getParent();

	/**
	 * 设置当前父容器控件 一般为JPanel
	 * 
	 * @param parent
	 *            父容器控件
	 */
	public void setParent(Container parent);
	
	/**
	 * 增加一个正行的空间(一般是用户设置的正行控件对象)
	 * @param component
	 */
	public void append(Component component);

	/**
	 * 添加一行控件
	 * @param lable 显示文本
	 * @param editor 编辑器
	 */
	public void append(Component lable, Component editor);

	/**
	 * 直接生成全部控件
	 * 
	 * @param components
	 */
	public void buildAll(Component... components);
}
